/* ----------------------------------------------------------------------------
* File: module.h
*
* Desc: Interface for any module
*
* Created: 05/05/2011, by Alexey Korshunov
* ---------------------------------------------------------------------------- */
#ifndef _MODULE_INTERFACE_H_
#define _MODULE_INTERFACE_H_

#include "error.h"
#include <stdio.h>


namespace ModuleManagement
{
	class Module
	{
	public:
		virtual ~Module(){}

		/// Start module
		virtual Common::Error Start(void* param = NULL, size_t size = 0) = 0;
		virtual Common::Error Stop(void* param = NULL, size_t size = 0) = 0;
	};
}

namespace Common
{
	enum Module
	{
		MODULE_QUIZ = 0,
		MODULE_TALK = 1,
		MODULE_WEATHER = 2
	};
}


#endif // _MODULE_INTERFACE_H_